Large high speed electronic printers are now combinations of printing engines with extensive computational capability. As such printers enter the workplace, primarily in the print shop environment, the advantage of such devices over offset presses will be noted in the ease in which new jobs can be programmed. However, new customers that will be served by such devices are extremely sensitive to print quality, in general, and specifically, to the appearance of each page of text. One feature of the job to which print shops are particularly sensitized is the use of specified fonts for a printing job.
Heretofore, it has been difficult to specify fonts for use by electronic printers, which usually only provide a limited number of typefaces (such as modern, classic, helvetica, terminal, etc.) in a limited number of font sizes (8-point, 10-point, 12-point, etc,), and font orientations (portrait, landscape, inverse portrait, inverse landscape) with other specified font characteristics (bold, italic, stricken). Font provisions for electronic printers usually offer a limited number of resident fonts, and allow use of added fonts, commonly through cartridge addition which must be changed for each typeface or font, although addition of fonts via a communication channel is known. Generally fonts are very memory intensive, and in a small scale use, only a few fonts can be made available on a single printer. A single, very complete typeface which might provide bitmaps for several fonts of many sizes, each size in any of four orientations, each size and orientation also provided with specified characteristics, and which provides a large number of characters through each font, takes up a significant amount of electronic memory. Of course, some typefaces are more or less developed than others.
In large high speed electronic printers, significantly larger memories are available, allowing the storage of many fonts in a font memory. However, the memory of such devices is not infinite, the addition of new fonts might require operator intervention, and in general, a user would desire optimization of his use of font memory by providing the most used fonts in device storage, and have relatively little used fonts stored on external media for use in the device only as required. A class of users may exist who do not know what fonts are available, who send jobs specifying certain fonts.
A user may elect for reasons of cost, availability or simplicity, to have a relatively small number of fonts available for use. In such cases, where the font called by a document to be printed is not available, a substitute may be used, or a default in the printing of the document must be declared. In a highly automated device, such a default may be undesirable.
Substitution of available fonts for unavailable fonts is a problem that has been considered. Typically, a print controller implements a substitution algorithm, which looks at the font characteristic information of available fonts, for comparison to the called-for font, and finds the nearest match, in accordance with a preset hierarchy of comparisons. Alternatively, the operator might specify a default. The hierarchy is set by the aesthetics of the algorithm developer. Thus, for example, the algorithm might attempt to match point size, weight, orientation, etc., on a weighted, or ordered basis. However, heretofore only two results have come from that comparison; first, an available font is substituted (sometimes accompanied by notice to the operator on a first sheet), or second, a fault is declared. However, when a fault is not declared, the substituted font may be unacceptable to the font sensitive user. An unacceptable job, which may result when a unacceptable font is used, and may be several thousand pages collated and bound, is an expensive error.